package com.moyou.weichat;

import android.app.Application;

import com.hyphenate.chat.EMClient;
import com.hyphenate.chat.EMOptions;
import com.moyou.weichat.utils.ImageUtils;
import com.moyou.weichat.utils.PreferenceHelper;

/**
 * sj ：2017年10月16日11:03:11
 * name: ts
 * 用途:封装的Application
 */

public class WeiChatApplication extends Application {
    private  static WeiChatApplication applicationContext;

    public static WeiChatApplication getWeiChatApplication() {
        return applicationContext ;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        applicationContext = this;
        initHx();
        initLocatinData();
    }

    //初始化本地的一些数据
    private void initLocatinData() {
        PreferenceHelper.init(applicationContext);//初始化shape
        ImageUtils.getInstance().initGlide(applicationContext); //初始化Glide
    }

    //初始化环信
    private void initHx() {
        EMOptions options = new EMOptions();
        // 默认添加好友时，是不需要验证的，改成需要验证
        options.setAcceptInvitationAlways(false);
        options.setAutoLogin(true);
        // 设置是否需要发送已读回执
        options.setRequireAck(true);
        // 设置是否需要发送回执，TODO 这个暂时有bug，上层收不到发送回执
        options.setRequireDeliveryAck(true);
        // 收到好友申请是否自动同意，如果是自动同意就不会收到好友请求的回调，因为sdk会自动处理，默认为true
        options.setAcceptInvitationAlways(false);
        // 设置是否自动接收加群邀请，如果设置了当收到群邀请会自动同意加入
        options.setAutoAcceptGroupInvitation(false);
        // 设置（主动或被动）退出群组时，是否删除群聊聊天记录
        options.setDeleteMessagesAsExitGroup(false);
        //设置加载一条消息
//        options.setNumber(1);
        //初始化
        EMClient.getInstance().init(applicationContext, options);
        //在做打包混淆时，关闭debug模式，避免消耗不必要的资源
        EMClient.getInstance().setDebugMode(true);
    }


}
